package com.oxygen.pt.service;

import com.github.pagehelper.PageInfo;
import com.oxygen.pt.pojo.dto.ChamberInspectionMonthlySaveDTO;
import com.oxygen.pt.pojo.entity.ChamberInspectionMonthly;
import com.oxygen.pt.pojo.vo.ChamberInspectionMonthlyVO;

import java.time.LocalDateTime;
import java.util.Map;

public interface ChamberInspectionMonthlyService {
    /* ---------- 基础 CRUD ---------- */
    /**
     * 新增一条月度巡检记录
     *
     * @param dto 前端提交的保存数据
     * @return 成功插入的主键
     */
    Long save(ChamberInspectionMonthlySaveDTO dto);

    int remove(Long id);

    int modify(ChamberInspectionMonthly record);

    ChamberInspectionMonthly findById(Long id);

    /* ---------- 分页查询 ----------
       参数：
         pageNum    第几页（1 起始）
         pageSize   每页条数
         chamberId  必填
         startTime  可选
         endTime    可选
     */
    PageInfo<ChamberInspectionMonthlyVO> page(int pageNum,
                                              int pageSize,
                                              Long chamberId,
                                              LocalDateTime startTime,
                                              LocalDateTime endTime);

    public Map<String, Object> buildWordData(Long chamberId, Integer year);

    ChamberInspectionMonthlySaveDTO findDtoById(Long id);
}
